In channel coding technology, it is important to make it possible to freely and variably adjust the code rate of a channel. For example, in the case of a wireless communication system, a receiver measures a channel state and transmits channel state information to a sender, and the sender determines the code rate of a code to be used on the basis of the received information. In this case, codes having various code rates are required in accordance with the channel state of the receiver. Accordingly, it is inevitably required to provide a method for designing a code having a variable code rate.
In the case of designing a code having a variable code rate through puncturing using the existing LDPC code, a puncturing pattern has been designed on the basis of the concept of a k-Step Recoverable (hereinafter, kSR) node that is information about the number of times of decoding for a punctured symbol node to receive a reliable message during a repetitive decoding process. According to this designing method, the puncturing pattern is designed so that the maximum value of a recoverable step of a puncturing node becomes a value as small as possible.
In the case of designing a puncturing pattern of a BICM-ID structure using an Irregular Repetition (hereinafter, IR) code, in the same manner as the LDPC code, it may be first considered to use the concept of the kSR node.
However, according to the above-described method, it is easy to find the puncturing pattern that corresponds to the respective code rates, but it is general that the puncturing pattern having a low code rate does not become a subset of the puncturing pattern having a high code rate. This may cause a problem when a rate-compatible structure that supports various code rates with one code is designed.